package org.jeecg.modules.demo.pubuyorder.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.demo.entity.PuContract;
import org.jeecg.modules.demo.expenseAllocation.entity.FeiYongVo;
import org.jeecg.modules.demo.expenseAllocation.entity.YxExpenseAllocation;
import org.jeecg.modules.demo.puInvoice.entity.PuInvoice;
import org.jeecg.modules.demo.pubuyorder.entity.PuBuyOrder;
import org.jeecg.modules.demo.pusettlement.entity.PuSettlement;

import java.util.List;
import java.util.Map;

/**
 * @Description: pu_buy_order
 * @Author: jeecg-boot
 * @Date:   2021-11-24
 * @Version: V1.0
 */
public interface PuBuyOrderMapper extends BaseMapper<PuBuyOrder> {
    public PuContract getContractByNumber(@Param("num") String num);
    public PuBuyOrder getPuBuyOrderByHetbh(String hetbh);
    public PuBuyOrder getByNumber(@Param("num") String num);
    @InterceptorIgnore(tenantLine = "1")
    public List<PuBuyOrder> getOrderList(@Param("parameter") String parameter);
    public String getMaxCode();

    public List<Map<String,Double>> getDingDan(@Param("str") String str);
    public List<PuSettlement> getJieSuan(@Param("str") String str);
    public List<Map<String,Double>> getZhiJian(@Param("str") String str);
    public List<Map<String,Double>> getRuKu(@Param("str") String str);
    public List<PuInvoice> getFaPiao(@Param("str") String str);
    public List<PuInvoice>  getYuKaiFaPiao(@Param("str") String str);
    public List<Map<String,Double>> getFuKuan(@Param("str") String str);
    public List<YxExpenseAllocation>  getYuFuKuan(@Param("str")String str);
    public List<FeiYongVo> getFeiYong(@Param("str")String str);


    public Map<String,Double> getNumAndMoeny();
    public Map<String,Double> getSaleOrderNumByMoney();

    public String getTeantName(@Param("str") Integer str);
    public String getTeantCodeById(@Param("str") Integer str);

    public Map<String,Double> getCgMonthData();
    public Map<String,Double> getXsMonthData();
    public Map<String,Double> getFkMonthData();
    public Map<String,Double> getSkMonthData();
    public Map<String,Double> getRkMonthData();
    public Map<String,Double> getCkMonthData();

    public Map<String,Double> getCgYearData(String tenantId);
    public Map<String,Double> getXsYearData();
    public Map<String,Double> getFkYearData();
    public Map<String,Double> getSkYearData();

    public Map<String,Double>  getOrderQuantity(@Param("beginTime") String beginTime,@Param("endTime") String endTime);
    public Map<String,Double>  getQualityIQ(@Param("beginTime") String beginTime,@Param("endTime") String endTime);
    public Map<String,Double>  getSettlementVolume(@Param("beginTime") String beginTime,@Param("endTime") String endTime);
    public Map<String,Double>  getInvoiceQuantity(@Param("beginTime") String beginTime,@Param("endTime") String endTime);

}
